home *** CD-ROM | disk | FTP | other *** search
/ PC User 2004 November / PCU1104CD2.iso / software / browsers / files / QBrows.exe / {app} / Scripts / Validate XML.js < prev   
Encoding:
Text File  |  2004-05-19  |  1.2 KB  |  53 lines

  1. Console.Visible = true;
  2. Console.Clear();
  3.  
  4. var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
  5. xmldoc.async = true;
  6. xmldoc.onreadystatechange = HandleReadyState
  7. xmldoc.validateOnParse = true;
  8. xmldoc.load( Document.LocationURL );
  9.  
  10. function HandleReadyState()
  11. {
  12.     if (xmldoc.readyState == 4)
  13.     {
  14.         if (xmldoc.childNodes.length == 0)
  15.         {
  16.             HandleError(xmldoc);
  17.         }
  18.         else
  19.         {
  20.             Console.WriteLine( "Your XML is well formed and is validated" );
  21.         }
  22.     }
  23. }
  24.  
  25. function FormatErrorCode(rc)
  26. {
  27.     if (rc < 0) rc = (65536*65536) + rc;
  28.     return "0x" + rc.toString(16).toUpperCase();
  29. }
  30.  
  31. function HandleError()
  32. {
  33.     var err = xmldoc.parseError;
  34.     var msg = err.reason + " in " + err.url;
  35.     msg += " Line: " + err.line;
  36.     msg += ", Position: " + err.linepos;
  37.     msg += ", ErrorCode: " + FormatErrorCode(err.errorCode);
  38.  
  39.     Console.WriteLineColor( msg, 255 );
  40.     
  41.     var code = "";
  42.     if (err.linepos > 0 && err.srcText != "")
  43.     {
  44.         code = err.srcText.replace(/\t/g," ") + "\n";
  45.         for (var i = 1; i < err.linepos; i++)
  46.         {
  47.             code += "-";
  48.         }
  49.         code += "^";
  50.     }
  51.     Console.WriteLine( code );
  52. }
  53.